using System;
using System.Collections;
using System.Collections.Generic;
using Me.Prettyprint.Hector.Api.Beans;

namespace Me.Prettyprint.Hector.Api.Query
{
    /// <summary>
    /// A query for the  call get_slice. Get a slice of super columns from a super column family.
    /// </summary>
    /// <typeparam name="K"></typeparam>
    /// <typeparam name="SN"></typeparam>
    /// <typeparam name="N"></typeparam>
    /// <typeparam name="V"></typeparam>
	public interface SuperSliceQuery<K, SN, N, V> : Query<SuperSlice<SN, N, V>>
	{
        SuperSliceQuery<K, SN, N, V> SetKey(K key);
        SuperSliceQuery<K, SN, N, V> SetColumnNames(List<SN> columnNames);
        SuperSliceQuery<K, SN, N, V> SetRange(SN start, SN finish, bool reversed, int count);
        SuperSliceQuery<K, SN, N, V> SetColumnFamily(string cf);
        List<SN> ColumnNames
        {
            get;
        }
	}
}